home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / man / cmds / rpcstat.man < prev    next >
Text File  |  1992-07-10  |  5KB  |  122 lines

  1. ' $Header: /sprite/src/cmds/rpcstat/RCS/rpcstat.man,v 1.8 92/07/10 15:26:27 kupfer Exp $ SPRITE (Berkeley)
  2. .so \*(]ltmac.sprite
  3. .HS RPCSTAT cmds
  4. .BS
  5. .SH NAME
  6. rpcstat \- Print out statistics about the RPC system
  7. .SH SYNOPSIS
  8. \fBrpcstat\fR  [\fIoptions\fR]
  9. .SH OPTIONS
  10. .IP "\fB\-trace\fR" 14
  11. Print out the RPC trace.
  12. .IP "\fB\-cinfo\fR"
  13. Print client-side RPC system statistics.
  14. .IP "\fB\-sinfo\fP"
  15. Print server-side RPC system statistics.
  16. .IP "\fB\-chan\fP"
  17. Print the state of the client RPC channels.
  18. .IP "\fB\-srvr\fP"
  19. Print the state of the RPC server processees.
  20. .IP "\fB\-calls\fP"
  21. Print the number of RPC calls made.
  22. .IP "\fB\-rpcs\fP"
  23. Print the number of RPC calls serviced.
  24. .IP "\fB\-chist\fP"
  25. Display the client-side RPC histograms.
  26. .IP "\fB\-shist\fP"
  27. Display the server-side RPC histograms.
  28. .IP "\fB\-zero\fP"
  29. Print the zero valued counts.
  30. .IP "\fB\-nohostdb\fP"
  31. Do not search the host database file.
  32. .BE
  33. .SH INTRODUCTION
  34. This command is used to get statistics and trace information about the
  35. Sprite kernel-to-kernel RPC system.
  36. .SH "RPC TRACE"
  37. .PP
  38. The RPC trace has a record for the
  39. last 100 packets sent or received in the RPC network protocol.  The trace
  40. has the following fields:
  41. .DS
  42. \fBID code time flag commnd client server psize dsize doff fragment\fR
  43. .DE
  44. .IP \fBID\fR 10
  45. The RPC sequence number.  A new ID is generated for each RPC, and
  46. all packets involved with an RPC contain this ID.
  47. .IP \fBcode\fR 10
  48. Either "in" or "out" to mean the packet was transmitted or received.
  49. .IP \fBtime\fR 10
  50. Seconds since last packet.  Sun3 clock granularity is too low (10 msec) for this
  51. to be meaningful.
  52. .IP \fBflag\fR 10
  53. .DS
  54. \fBQ\fP reQuest packet.
  55. \fBQp\fP reQuest with please acknowledge bit set.
  56. \fBA\fP Acknowledgment packet.
  57. \fBR\fP Reply packet.
  58. \fBRe\fP Error reply; command field contains error code.
  59. \fBAc\fP Close acknowledgment sent to close client/server binding.
  60. .DE
  61. .IP \fBcommand\fR 10
  62. The RPC name.  If this is a number and the flag field is "Re",
  63. then this is the returned error code.
  64. .IP \fBclient\fR 10
  65. Two numbers identify the client host and the client channel number.
  66. .IP \fBserver\fR 10
  67. Two numbers identify the server host and the server process number.
  68. .IP \fBpsize\fR 10
  69. The size of the parameter area of the packet.
  70. .IP \fBdsize\fR 10
  71. The size of the data area of the packet
  72. .IP \fBdoff\fR 10
  73. The offset of the data area.  Used when fragmenting large data blocks.
  74. .IP \fBfragment\fR 10
  75. Two numbers are the number of fragments and the fragment bitmask.
  76. .SH "CLIENT RPC"
  77. .PP
  78. The client half of the RPC system maintains statistics about the
  79. number of timeouts, retransmissions, etc.  The output of the \fB\-cinfo\fP
  80. option is (nearly) self-explanatory.  There are also a set of
  81. \fIchannels\fP used by the client side of RPC.  Each channel is
  82. dynamically bound to a particular server host/process pair, and
  83. the kernel attempts to reuse the channel for successive RPCs to that server.
  84. The \fB\-chan\fP option prints out the state of the client channels,
  85. what they are bound to, what RPC is in progress, etc.
  86. The binding is not hard, but is used to optimize away explicit
  87. acknowledgment packets.
  88. .SH "SERVER RPC"
  89. .PP
  90. The server half of the RPC system maintains statistics about the
  91. number of requests it has received, the number of requests that
  92. implicitly acknowledged a previous reply, etc.  The output of
  93. the \fB\-sinfo\fP option is (nearly) self-explanatory.  There are also
  94. a pool of kernel RPC server processes.  The \fB\-srvr\fP option
  95. prints out the state of each, their current client, the current RPC, etc.
  96. .SH HISTOGRAMS
  97. .PP
  98. The kernel can keep track of how long RPCs take.  For each RPC number
  99. the kernel keeps the total time spent processing that RPC command, as
  100. well as a histogram showing the distribution of times.  The
  101. .B \-chist
  102. option displays the client-side timings, whereas
  103. .B \-shist
  104. displays the server-side timings.  These options display the following
  105. information for each RPC command: the command name, the number of
  106. calls, the average time per call, the overhead for collecting the
  107. timing information, and the timing distribution for the command.  The
  108. timing distribution is a series of double lines.  The top line gives
  109. the minimum times for a series of buckets, in microseconds, and the
  110. bottom line gives the number of RPCs that fell into that bucket.
  111. .PP
  112. Use
  113. .B rpccmd
  114. to enable, disable, or reset these timings.
  115. .SH BUGS
  116. On current Sprite systems, the histogram resolution is finer than the
  117. clock resolution, so many buckets will always have a count of 0.
  118. .SH "SEE ALSO"
  119. rpccmd
  120. .SH KEYWORDS
  121. rpc, server, client, channel
  122.